home *** CD-ROM | disk | FTP | other *** search
/ Compendium Deluxe 1 / LSD Compendium Deluxe 1.iso / a / programming / assembly / angint2.s.lha / coolintro.s < prev    next >
Encoding:
Text File  |  1980-02-15  |  25.4 KB  |  1,241 lines

  1. >extern "df0:font",font,4352
  2. >extern "df0:angels",angels,4704
  3. >extern "df0:music",module
  4. org    $50000
  5. load    $50000
  6. s:
  7. start:
  8. movem.l    d0-d7/a0-a6,-(a7)
  9. move.l    4,a6
  10. lea     gfxname,a1
  11. jsr    -408(a6)
  12. move.l    d0,gfxbase
  13. jsr    -132(a6)
  14. move.w  #$03e0,$dff096
  15. lea    $60000,a0
  16. loop1:
  17. move.l    #0,(a0)+
  18. cmp.l    #$7f000,a0
  19. bne    loop1
  20.  
  21. move.w    #$87d0,$dff096
  22. move.l    #$09f00000,$dff040
  23. move.l    #$ffffffff,$dff044
  24. move.w    #0,$dff064
  25. move.w    #42,$dff066
  26. move.l    #0,d5
  27. move.l    #3,d7
  28. vertical:
  29. move.l    #3,d6
  30. move.l    #$60000,d2
  31. add.l    d5,d2
  32. move.l    #angels,d1
  33. horizontal:
  34. move.l    d1,d3
  35. move.l    d2,d4
  36. move.l    #2,d0
  37. blitloop:
  38. move.l    d3,$dff050
  39. move.l    d4,$dff054
  40. move.w    #$1c07,$dff058
  41. add.l    #1568,d3
  42. add.l    #25088,d4
  43. dbf    d0,blitloop
  44. add.l    #14,d2
  45. dbf    d6,horizontal
  46. add.l    #6272,d5
  47. dbf    d7,vertical
  48. move.w  #$03e0,$dff096
  49. bsr    kies
  50. move.l    #text,keeper
  51.  
  52. lea    lettercop,a0
  53. add.w    #2,a0
  54. move.l    #$72ffc,d0
  55. move.l    #1,d3
  56. PlaneLoop3:
  57. swap     d0
  58. move.w     d0,(a0)
  59. add.w     #4,a0
  60. swap     d0
  61. move.w     d0,(a0)
  62. add.w     #4,a0
  63. add.l    #8832,d0
  64. dbf     d3,PlaneLoop3
  65.  
  66. lea    logopl,a0
  67. add.w    #2,a0
  68. move.l    #$60000,d0
  69. move.l    #2,d3
  70. PlaneLoop:
  71. swap     d0
  72. move.w     d0,(a0)
  73. add.w     #4,a0
  74. swap     d0
  75. move.w     d0,(a0)
  76. add.w     #4,a0
  77. add.l    #25088,d0
  78. dbf     d3,PlaneLoop
  79.  
  80. move.l    #newcopper,$dff080
  81. clr.w    $dff088
  82.  
  83. move.l    $6c,oldirq
  84. move.l    #newirq,$6c
  85. bset    #1,$bfe001    ; power on/off
  86. bsr    init_music
  87. move.w    #$87e0,$dff096
  88. move.b    #$87,$bfd100
  89. loop:
  90. cmp.w    #1,uit
  91. beq    end
  92. btst    #6,$bfe001
  93. bne    loop
  94. end:
  95. bsr    end_music
  96. move.l    oldirq,$6C
  97. move.l    gfxbase,a0
  98. move.l    38(a0),$dff080
  99. move.l    4,a6
  100. jsr    -138(a6)
  101. move.l    gfxbase,a1
  102. jsr    -414(a6)
  103. movem.l    (a7)+,d0-d7/a0-a6
  104. rts
  105.  
  106. oldirq: dc.l 0
  107.  
  108. newirq:
  109. movem.l  d0-d6/a0-a6,-(a7)
  110. bsr     play
  111. bsr    scrollback
  112. goone:
  113. cmp.l    #0,klaar
  114. bne     back
  115. move.l    verander,d0
  116. move.l    d0,klaar
  117. ReturnScroll:
  118. clr.l    d2
  119. move.l    keeppos,a0
  120. move.w    keepcount,d0
  121. add.w    #2,keepcount
  122. add.w    d0,a0
  123. move.w    (a0),d2
  124. move.l    keeper,d1
  125. move.l    d1,keeper2
  126. add.l    d2,keeper2    
  127. move.l    keeper2,a0
  128. move.b    (a0),d4        
  129.  
  130. lea    letters,a1
  131. lea    adds,a2
  132. move.l    #69,d6
  133. sub.l    d5,d5
  134. move.w    (a2)+,d5
  135. search:
  136. cmp.b    (a1)+,d4
  137. beq    place
  138. move.w    (a2)+,d5    
  139. sub.l    #1,d6
  140. cmp.l    #0,d6
  141. beq    notfound
  142. bra    search
  143. notfound:
  144. cmp.b   #$FF,d4
  145. BNE.S   back
  146. move.l    #text,keeper
  147. move.w    #0,keepcount
  148. move.w    #0,sprcount
  149. BRA     ReturnScroll
  150. back:
  151. sub.l    #1,klaar
  152. sub.b    #1,lamer
  153. cmp.b    #0,lamer
  154. bne    goone
  155. move.b    #3,lamer
  156. backk:
  157. move.w #$70,$dff09c        
  158. movem.l (a7)+,d0-d6/a0-a6  
  159. rte
  160.  
  161. kies:
  162. move.l    #7,d7
  163. MOVEM.L D1-D2,-(A7)
  164. MOVE.W $DFF006,D2
  165. MOVE.L RND,D1
  166. SWAP D1
  167. EOR.W D2,D1
  168. MOVE.W D7,D2
  169. SUBQ.W #1,D2
  170. RANDOM2:
  171. ADD.L D1,D1
  172. BHI.S RANDOM3
  173. EOR.L #$1D872B41,D1
  174. RANDOM3:
  175. LSR.W #1,D2
  176. BNE.S RANDOM2
  177. MOVE.L D1,RND
  178. MULU D7,D1
  179. CLR.W D1
  180. SWAP D1
  181. MOVE.L D1,D7
  182. MOVEM.L (A7)+,D1-D2
  183. mulu    #360,d7
  184. move.l    #plaats,keeppos
  185. add.l    d7,keeppos
  186. rts
  187.  
  188. RND:DC.L "RAND"
  189.  
  190. place:
  191. move.l    keeppos,a0
  192. lea    addspr,a2
  193. cmp.w    #358,sprcount
  194. bne    gospr1
  195. move.w    #0,keepcount
  196. add.l    #180,keeper
  197. move.l    d1,keeper2
  198. move.l    #2048,klaar
  199. bsr    kies
  200. gospr1:
  201. cmp.w    #360,sprcount
  202. bne    gospr
  203. move.w    #0,sprcount
  204. gospr:
  205. move.w    sprcount,d0
  206. add.w    d0,a0
  207. add.w    #2,sprcount
  208. move.w    (a0),d4
  209. mulu    #2,d4
  210. add.w    d4,a2
  211. move.w    (a2),d4
  212. move.l    #$09f00000,$dff040
  213. move.l    #$ffffffff,$dff044
  214.  
  215. move.l    #font,d1
  216. move.l    #$73000,d2
  217. move.w    #32,$dff064
  218. move.w    #44,$dff066
  219. add.l    d5,d1
  220. add.l    d4,d2
  221. move.l    #1,d7
  222. sprloop:
  223. move.l    d1,$dff050
  224. move.l    d2,$dff054
  225. move.w    #$401,$dff058
  226. add.l    #2176,d1
  227. add.l    #8832,d2
  228. dbf    d7,sprloop
  229. bra    back
  230.  
  231. scrollback:
  232. clr.l    d0
  233. clr.l    d1
  234. clr.l    d2
  235. clr.l    d5
  236. cmp.b    #112,scrollcounter
  237. bne    goscroll
  238. move.b    #0,scrollcounter
  239. goscroll:
  240. move.b    scrollcounter,d0
  241. add.b    #1,scrollcounter
  242. lea    scrolladds,a0
  243. add.w    d0,a0
  244. move.b    (a0),d5        ;KEEP THE ADDS FOR THE VERTICAL SCROLL
  245. lea    scrollsubs,a0
  246. add.w    d0,a0
  247. move.b    (a0),d0
  248. divu    #16,d0
  249. swap    d0
  250. move.w    #15,d1
  251. lea    shifter,a0
  252. add.w    #2,a0
  253. sub.w    d0,d1
  254. move.w    d1,(a0)        ;SHIFTER COPIED TO COPPERLIST
  255. mulu    #56,d5        ;MULU HEIGHT
  256. move.l    #$60000,d6
  257. add.l    d5,d6
  258. swap    d0
  259. mulu    #2,d0
  260. add.w    d0,d6        ;RIGHT BITPLANE POINTET FOUND FOR NOW!!!
  261. lea    logopl,a0
  262. add.w    #2,a0
  263. move.l    #2,d7
  264. bitloop:
  265. swap    d6
  266. move.w    d6,(a0)
  267. add.w    #4,a0
  268. swap    d6
  269. move.w    d6,(a0)
  270. add.w    #4,a0
  271. add.l    #25088,d6
  272. dbf    d7,bitloop
  273. rts
  274. ;************************
  275. PLAY_MUSIC:
  276. bra.l PLAY
  277. END_MUSIC:
  278. clr.w onoff
  279. clr.l $dff0a6
  280. clr.l $dff0b6
  281. clr.l $dff0c6
  282. clr.l $dff0d6
  283. move.w #$000f,$dff096
  284. bclr #1,$bfe001
  285. rts
  286. INIT_MUSIC:
  287. move.w #1,onoff
  288. bset #1,$bfe001
  289. lea MODULE,a0
  290. lea 180(a0),a1
  291. move.l a1,SEQpoint
  292. move.l a0,a1
  293. add.l 8(a0),a1
  294. move.l a1,PATpoint
  295. move.l a0,a1
  296. add.l 16(a0),a1
  297. move.l a1,FRQpoint
  298. move.l a0,a1
  299. add.l 24(a0),a1
  300. move.l a1,VOLpoint
  301. move.l 4(a0),d0
  302. divu #13,d0
  303. lea 40(a0),a1
  304. lea SOUNDINFO+4(pc),a2
  305. moveq #10-1,d1
  306. initloop:
  307. move.w (a1)+,(a2)+
  308. move.l (a1)+,(a2)+
  309. adda.w #10,a2
  310. dbf d1,initloop
  311. move.l a0,d1
  312. add.l 32(a0),d1
  313. lea SOUNDINFO(pc),a3
  314. move.l d1,(a3)+
  315. moveq #9-1,d3
  316. moveq #0,d2
  317. initloop1:
  318. move.w (a3),d2
  319. add.l d2,d1
  320. add.l d2,d1
  321. addq.l #2,d1
  322. adda.w #12,a3
  323. move.l d1,(a3)+
  324. dbf d3,initloop1
  325. lea 100(a0),a1
  326. lea SOUNDINFO+[10*16](pc),a2
  327. move.l a0,a3
  328. add.l 36(a0),a3
  329. moveq #80-1,d1
  330. moveq #0,d2
  331. initloop2:
  332. move.l a3,(a2)+
  333. move.b (a1)+,d2
  334. move.w d2,(a2)+
  335. clr.w (a2)+
  336. move.w d2,(a2)+
  337. addq.w #6,a2
  338. add.w d2,a3
  339. add.w d2,a3
  340. dbf d1,initloop2
  341. move.l SEQpoint(pc),a0
  342. moveq #0,d2
  343. move.b 12(a0),d2        ;Get replay speed
  344. bne.s speedok
  345. move.b #3,d2            ;Set default speed
  346. speedok:
  347. move.w d2,respcnt        ;Init repspeed counter
  348. move.w d2,repspd
  349. INIT2:
  350. clr.w audtemp
  351. move.w #$000f,$dff096        ;Disable audio DMA
  352. move.w #$0780,$dff09a        ;Disable audio IRQ
  353. moveq #0,d7
  354. mulu #13,d0
  355. moveq #4-1,d6            ;Number of soundchannels-1
  356. lea V1data(pc),a0        ;Point to 1st voice data area
  357. lea silent(pc),a1
  358. lea Chandata(pc),a2
  359. initloop3:
  360. move.l a1,10(a0)
  361. move.l a1,18(a0)
  362. clr.w 4(a0)
  363. move.w #$000d,6(a0)
  364. clr.w 8(a0)
  365. clr.l 14(a0)
  366. move.b #$01,23(a0)
  367. move.b #$01,24(a0)
  368. clr.b 25(a0)
  369. clr.l 26(a0)
  370. clr.w 30(a0)
  371. clr.l 38(a0)
  372. clr.w 42(a0)
  373. clr.l 44(a0)
  374. clr.l 48(a0)
  375. clr.w 56(a0)
  376. moveq #$00,d3
  377. move.w (a2)+,d1
  378. move.w (a2),d3
  379. divu #$0003,d3
  380. moveq #0,d4
  381. bset d3,d4
  382. move.w d4,32(a0)
  383. move.w (a2)+,d3
  384. andi.l #$00ff,d3
  385. andi.l #$00ff,d1
  386. lea $dff0a0,a6
  387. add.w d1,a6
  388. move.l #$0000,(a6)
  389. move.w #$0100,4(a6)
  390. move.w #$0000,6(a6)
  391. move.w #$0000,8(a6)
  392. move.l a6,60(a0)
  393. move.l SEQpoint(pc),(a0)
  394. move.l SEQpoint(pc),52(a0)
  395. add.l d0,52(a0)
  396. add.l d3,52(a0)
  397. add.l d7,(a0)
  398. add.l d3,(a0)
  399. move.l (a0),a3
  400. move.b (a3),d1
  401. andi.l #$00ff,d1
  402. lsl.w #6,d1
  403. move.l PATpoint(pc),a4
  404. adda.w d1,a4
  405. move.l a4,34(a0)
  406. move.b 1(a3),44(a0)
  407. move.b 2(a3),22(a0)
  408. lea $4a(a0),a0        ;Point to next voice's data area
  409. dbf d6,initloop3
  410. rts
  411. PLAY:
  412. lea audtemp(pc),a5
  413. tst.w 8(a5)
  414. bne.s music_on
  415. rts
  416. music_on:
  417. subq.w #1,4(a5)            ;Decrease replayspeed counter
  418. bne.s nonewnote
  419. move.w 6(a5),4(a5)        ;Restore replayspeed counter
  420. moveq #0,d5
  421. moveq #6,d6
  422. lea V1data(pc),a0        ;Point to voice1 data area
  423. bsr.L new_note
  424. lea V2data(pc),a0        ;Point to voice2 data area
  425. bsr.L new_note
  426. lea V3data(pc),a0        ;Point to voice3 data area
  427. bsr.L new_note
  428. lea V4data(pc),a0        ;Point to voice4 data area
  429. bsr.L new_note
  430. nonewnote:
  431. clr.w (a5)
  432. lea $dff000,a6
  433. lea V1data(pc),a0
  434. bsr.L effects
  435. move.l d0,$a6(a6)
  436. lea V2data(pc),a0
  437. bsr.L effects
  438. move.l d0,$b6(a6)
  439. lea V3data(pc),a0
  440. bsr.L effects
  441. move.l d0,$c6(a6)
  442. lea V4data(pc),a0
  443. bsr.L effects
  444. move.l d0,$d6(a6)
  445. lea V1data(pc),a0
  446. move.l 68+[0*74](a0),a1        ;Get samplepointer
  447. adda.w 64+[0*74](a0),a1        ;add repeat_start
  448. move.l 68+[1*74](a0),a2
  449. adda.w 64+[1*74](a0),a2
  450. move.l 68+[2*74](a0),a3
  451. adda.w 64+[2*74](a0),a3
  452. move.l 68+[3*74](a0),a4
  453. adda.w 64+[3*74](a0),a4
  454. move.w 66+[0*74](a0),d1        ;Get repeat_length
  455. move.w 66+[1*74](a0),d2
  456. move.w 66+[2*74](a0),d3
  457. move.w 66+[3*74](a0),d4
  458. moveq #2,d0
  459. moveq #0,d5
  460. move.w (a5),d7
  461. ori.w #$8000,d7            ;Set/clr bit = 1
  462. move.w d7,$dff096        ;Enable audio DMA
  463. chan1:
  464. lea V1data+72(pc),a0
  465. move.w (a0),d7
  466. beq.s chan2
  467. subq.w #1,(a0)
  468. cmp.w d0,d7
  469. bne.s chan2
  470. move.w d5,(a0)
  471. move.l a1,$a0(a6)        ;Set samplestart
  472. move.w d1,$a4(a6)        ;Set samplelength
  473. chan2:
  474. lea V2data+72(pc),a0
  475. move.w (a0),d7
  476. beq.s chan3
  477. subq.w #1,(a0)
  478. cmp.w d0,d7
  479. bne.s chan3
  480. move.w d5,(a0)
  481. move.l a2,$b0(a6)
  482. move.w d2,$b4(a6)
  483. chan3:
  484. lea V3data+72(pc),a0
  485. move.w (a0),d7
  486. beq.s chan4
  487. subq.w #1,(a0)
  488. cmp.w d0,d7
  489. bne.s chan4
  490. move.w d5,(a0)
  491. move.l a3,$c0(a6)
  492. move.w d3,$c4(a6)
  493. chan4:
  494. lea V4data+72(pc),a0
  495. move.w (a0),d7
  496. beq.s endplay
  497. subq.w #1,(a0)
  498. cmp.w d0,d7
  499. bne.s endplay
  500. move.w d5,(a0)
  501. move.l a4,$d0(a6)
  502. move.w d4,$d4(a6)
  503. endplay:
  504. rts
  505. NEW_NOTE:
  506. move.l 34(a0),a1
  507. adda.w 40(a0),a1
  508. cmp.b #$49,(a1)        ;Check "END" mark in pattern
  509. beq.s patend
  510. cmp.w #64,40(a0)        ;Have all the notes been played?
  511. bne.L samepat
  512. patend:
  513. move.w d5,40(a0)
  514. move.l (a0),a2
  515. adda.w 6(a0),a2        ;Point to next sequence row
  516. cmpa.l 52(a0),a2    ;Is it the end?
  517. bne.s notend
  518. move.w d5,6(a0)        ;yes!
  519. move.l (a0),a2        ;Point to first sequence
  520. notend:
  521. lea spdtemp(pc),a3
  522. moveq #1,d1
  523. addq.b #1,(a3)
  524. cmpi.b #5,(a3)
  525. bne.s nonewspd
  526. move.b d1,(a3)
  527. move.b 12(a2),d1    ;Get new replay speed
  528. beq.s nonewspd
  529. move.w d1,2(a3)        ;store in counter
  530. move.w d1,4(a3)
  531. nonewspd:
  532. move.b (a2)+,d1        ;Pattern to play
  533. move.b (a2)+,44(a0)    ;Transpose value
  534. move.b (a2)+,22(a0)    ;Soundtranspose value
  535. lsl.w d6,d1
  536. move.l PATpoint(pc),a1    ;Get pattern pointer
  537. add.w d1,a1
  538. move.l a1,34(a0)
  539. addi.w #$000d,6(a0)
  540. samepat:
  541. move.b 1(a1),d1        ;Get info byte
  542. move.b (a1)+,d0        ;Get note
  543. bne.s ww1
  544. andi.w #%11000000,d1
  545. beq.s noport
  546. bra.s ww11
  547. ww1:
  548. move.w d5,56(a0)
  549. ww11:
  550. move.b d5,47(a0)
  551. btst #7,d1
  552. beq.s noport
  553. move.b 2(a1),47(a0)    
  554. noport:
  555. andi.w #$007f,d0
  556. beq.L nextnote
  557. move.b d0,8(a0)
  558. move.b (a1),d1
  559. move.b d1,9(a0)
  560. move.w 32(a0),d3
  561. or.w d3,(a5)
  562. move.w d3,$dff096
  563. andi.w #$003f,d1    ;Max 64 instruments
  564. add.b 22(a0),d1        ;add Soundtranspose
  565. move.l VOLpoint(pc),a2
  566. lsl.w d6,d1
  567. adda.w d1,a2
  568. move.w d5,16(a0)
  569. move.b (a2),23(a0)
  570. move.b (a2)+,24(a0)
  571. moveq #0,d1
  572. move.b (a2)+,d1
  573. move.b (a2)+,27(a0)
  574. move.b #$40,46(a0)
  575. move.b (a2),28(a0)
  576. move.b (a2)+,29(a0)
  577. move.b (a2)+,30(a0)
  578. move.l a2,10(a0)
  579. move.l FRQpoint(pc),a2
  580. lsl.w d6,d1
  581. adda.w d1,a2
  582. move.l a2,18(a0)
  583. move.w d5,50(a0)
  584. move.b d5,25(a0)
  585. move.b d5,26(a0)
  586. nextnote:
  587. addq.w #2,40(a0)
  588. rts
  589. EFFECTS:
  590. moveq #0,d7
  591. testsustain:
  592. tst.b 26(a0)        ;Is sustain counter = 0
  593. beq.s sustzero
  594. subq.b #1,26(a0)    ;if no, decrease counter
  595. bra.L VOLUfx
  596. sustzero:        ;Next part of effect sequence
  597. move.l 18(a0),a1    ;can be executed now.
  598. adda.w 50(a0),a1
  599. testeffects:
  600. cmpi.b #$e1,(a1)    ;E1 = end of FREQseq sequence
  601. beq.L VOLUfx
  602. move.b (a1),d0
  603. cmpi.b #$e0,d0        ;E0 = loop to other part of sequence
  604. bne.s testnewsound
  605. move.b 1(a1),d1        ;loop to start of sequence + 1(a1)
  606. andi.w #$003f,d1
  607. move.w d1,50(a0)
  608. move.l 18(a0),a1
  609. adda.w d1,a1
  610. move.b (a1),d0
  611. testnewsound:
  612. cmpi.b #$e2,d0        ;E2 = set waveform
  613. bne.s testE4
  614. move.w 32(a0),d1
  615. or.w d1,(a5)
  616. move.w d1,$dff096
  617. moveq #0,d0
  618. move.b 1(a1),d0
  619. lea SOUNDINFO(pc),a4
  620. lsl.w #4,d0
  621. adda.w d0,a4
  622. move.l 60(a0),a3
  623. move.l (a4)+,d1
  624. move.l d1,(a3)
  625. move.l d1,68(a0)
  626. move.w (a4)+,4(a3)
  627. move.l (a4),64(a0)
  628. move.w #$0003,72(a0)
  629. move.w d7,16(a0)
  630. move.b #$01,23(a0)
  631. addq.w #2,50(a0)
  632. bra.L transpose
  633. testE4:
  634. cmpi.b #$e4,d0
  635. bne.s testE9
  636. moveq #0,d0
  637. move.b 1(a1),d0
  638. lea SOUNDINFO(pc),a4
  639. lsl.w #4,d0
  640. adda.w d0,a4
  641. move.l 60(a0),a3
  642. move.l (a4)+,d1
  643. move.l d1,(a3)
  644. move.l d1,68(a0)
  645. move.w (a4)+,4(a3)
  646. move.l (a4),64(a0)
  647. move.w #$0003,72(a0)
  648. addq.w #2,50(a0)
  649. bra.L transpose
  650. testE9:
  651. cmpi.b #$e9,d0
  652. bne testpatjmp
  653. move.w 32(a0),d1
  654. or.w d1,(a5)
  655. move.w d1,$dff096
  656. moveq #0,d0
  657. move.b 1(a1),d0
  658. lea SOUNDINFO(pc),a4
  659. lsl.w #4,d0
  660. adda.w d0,a4
  661. move.l (a4),a2
  662. cmpi.l #"SSMP",(a2)+
  663. bne.s nossmp
  664. lea 320(a2),a4
  665. moveq #0,d1
  666. move.b 2(a1),d1
  667. lsl.w #4,d1
  668. add.w d1,a2
  669. add.l (a2),a4
  670. move.l 60(a0),a3
  671. move.l a4,(a3)
  672. move.l 4(a2),4(a3)
  673. move.l a4,68(a0)
  674. move.l 6(a2),64(a0)
  675. move.w d7,16(a0)
  676. move.b #1,23(a0)
  677. move.w #3,72(a0)
  678. nossmp:
  679. addq.w #3,50(a0)
  680. bra.s transpose
  681. testpatjmp:
  682. cmpi.b #$e7,d0
  683. bne.s testpitchbend
  684. moveq #0,d0
  685. move.b 1(a1),d0
  686. lsl.w d6,d0
  687. move.l FRQpoint(pc),a1
  688. adda.w d0,a1
  689. move.l a1,18(a0)
  690. move.w d7,50(a0)
  691. bra.L testeffects
  692. testpitchbend:
  693. cmpi.b #$ea,d0
  694. bne.s testnewsustain
  695. move.b 1(a1),4(a0)
  696. move.b 2(a1),5(a0)
  697. addq.w #3,50(a0)
  698. bra.s transpose
  699. testnewsustain:
  700. cmpi.b #$e8,d0
  701. bne.s testnewvib
  702. move.b 1(a1),26(a0)
  703. addq.w #2,50(a0)
  704. bra.L testsustain
  705. testnewvib:
  706. cmpi.b #$e3,(a1)+
  707. bne.s transpose
  708. addq.w #3,50(a0)
  709. move.b (a1)+,27(a0)
  710. move.b (a1),28(a0)
  711. transpose:
  712. move.l 18(a0),a1
  713. adda.w 50(a0),a1
  714. move.b (a1),43(a0)
  715. addq.w #1,50(a0)
  716. VOLUfx:
  717. tst.b 25(a0)
  718. beq.s volsustzero
  719. subq.b #1,25(a0)
  720. bra.L calcperiod
  721. volsustzero:
  722. tst.b 15(a0)
  723. bne.s do_VOLbend
  724. subq.b #1,23(a0)
  725. bne.s calcperiod
  726. move.b 24(a0),23(a0)
  727. volu_cmd:
  728. move.l 10(a0),a1
  729. adda.w 16(a0),a1
  730. move.b (a1),d0
  731. testvoluend:
  732. cmpi.b #$e1,d0
  733. beq.s calcperiod
  734. cmpi.b #$ea,d0
  735. bne.s testVOLsustain
  736. move.b 1(a1),14(a0)
  737. move.b 2(a1),15(a0)
  738. addq.w #3,16(a0)
  739. bra.s do_VOLbend
  740. testVOLsustain:
  741. cmpi.b #$e8,d0
  742. bne.s testVOLloop
  743. addq.w #2,16(a0)
  744. move.b 1(a1),25(a0)
  745. bra.s calcperiod
  746. testVOLloop:
  747. cmpi.b #$e0,d0
  748. bne.s setvolume
  749. move.b 1(a1),d0
  750. andi.w #$003f,d0
  751. subq.b #5,d0
  752. move.w d0,16(a0)
  753. bra.s volu_cmd
  754. do_VOLbend:
  755. not.b 38(a0)
  756. beq.s calcperiod
  757. subq.b #1,15(a0)
  758. move.b 14(a0),d1
  759. add.b d1,45(a0)
  760. bpl.s calcperiod
  761. moveq #0,d1
  762. move.b d1,15(a0)
  763. move.b d1,45(a0)
  764. bra.s calcperiod
  765. setvolume:
  766. move.b (a1),45(a0)
  767. addq.w #1,16(a0)
  768. calcperiod:
  769. move.b 43(a0),d0
  770. bmi.s lockednote
  771. add.b 8(a0),d0
  772. add.b 44(a0),d0
  773. lockednote:
  774. moveq #$7f,d1
  775. and.l d1,d0
  776. lea PERIODS(pc),a1
  777. add.w d0,d0
  778. move.w d0,d1
  779. adda.w d0,a1
  780. move.w (a1),d0
  781. move.b 46(a0),d7
  782. tst.b 30(a0)        ;Vibrato_delay = zero ?
  783. beq.s vibrator
  784. subq.b #1,30(a0)
  785. bra.s novibrato
  786. vibrator:
  787. moveq #5,d2
  788. move.b d1,d5
  789. move.b 28(a0),d4
  790. add.b d4,d4
  791. move.b 29(a0),d1
  792. tst.b d7
  793. bpl.s vib1
  794. btst #0,d7
  795. bne.s vib4
  796. vib1:
  797. btst d2,d7
  798. bne.s vib2
  799. sub.b 27(a0),d1
  800. bcc.s vib3
  801. bset d2,d7
  802. moveq #0,d1
  803. bra.s vib3
  804. vib2:
  805. add.b 27(a0),d1
  806. cmp.b d4,d1
  807. bcs.s vib3
  808. bclr d2,d7
  809. move.b d4,d1
  810. vib3:
  811. move.b d1,29(a0)
  812. vib4:
  813. lsr.b #1,d4
  814. sub.b d4,d1
  815. bcc.s vib5
  816. subi.w #$0100,d1
  817. vib5:
  818. addi.b #$a0,d5
  819. bcs.s vib7
  820. vib6:
  821. add.w d1,d1
  822. addi.b #$18,d5
  823. bcc.s vib6
  824. vib7:
  825. add.w d1,d0
  826. novibrato:
  827. eori.b #$01,d7
  828. move.b d7,46(a0)
  829. not.b 39(a0)
  830. beq.s pitchbend
  831. moveq #0,d1
  832. move.b 47(a0),d1    ;get portavalue
  833. beq.s pitchbend        ;0=no portamento
  834. cmpi.b #$1f,d1
  835. bls.s portaup
  836. portadown: 
  837. andi.w #$1f,d1
  838. neg.w d1
  839. portaup:
  840. sub.w d1,56(a0)
  841. pitchbend:
  842. not.b 42(a0)
  843. beq.s addporta
  844. tst.b 5(a0)
  845. beq.s addporta
  846. subq.b #1,5(a0)
  847. moveq #0,d1
  848. move.b 4(a0),d1
  849. bpl.s pitchup
  850. ext.w d1
  851. pitchup:
  852. sub.w d1,56(a0)
  853. addporta:
  854. add.w 56(a0),d0
  855. cmpi.w #$0070,d0
  856. bhi.s nn1
  857. move.w #$0071,d0
  858. nn1:
  859. cmpi.w #$0d60,d0
  860. bls.s nn2
  861. move.w #$0d60,d0
  862. nn2:
  863. swap d0
  864. move.b 45(a0),d0
  865. rts
  866. V1data:  blk.b 64,0    ;Voice 1 data area
  867. offset1: blk.b 02,0    ;Is added to start of sound
  868. ssize1:  blk.b 02,0    ;Length of sound
  869. start1:  blk.b 06,0    ;Start of sound
  870. V2data:  blk.b 64,0    ;Voice 2 data area
  871. offset2: blk.b 02,0
  872. ssize2:  blk.b 02,0
  873. start2:  blk.b 06,0
  874. V3data:  blk.b 64,0    ;Voice 3 data area
  875. offset3: blk.b 02,0
  876. ssize3:  blk.b 02,0
  877. start3:  blk.b 06,0
  878. V4data:  blk.b 64,0    ;Voice 4 data area
  879. offset4: blk.b 02,0
  880. ssize4:  blk.b 02,0
  881. start4:  blk.b 06,0
  882. audtemp: dc.w 0        ;DMACON
  883. spdtemp: dc.w 0
  884. respcnt: dc.w 0        ;Replay speed counter 
  885. repspd:  dc.w 0        ;Replay speed counter temp
  886. onoff:   dc.w 0        ;Music on/off flag.
  887. Chandata: dc.l $00000000,$00100003,$00200006,$00300009
  888. SEQpoint: dc.l 0
  889. PATpoint: dc.l 0
  890. FRQpoint: dc.l 0
  891. VOLpoint: dc.l 0
  892. SILENT: dc.w $0100,$0000,$0000,$00e1
  893. PERIODS:dc.w $06b0,$0650,$05f4,$05a0,$054c,$0500,$04b8,$0474
  894.     dc.w $0434,$03f8,$03c0,$038a,$0358,$0328,$02fa,$02d0
  895.     dc.w $02a6,$0280,$025c,$023a,$021a,$01fc,$01e0,$01c5
  896.     dc.w $01ac,$0194,$017d,$0168,$0153,$0140,$012e,$011d
  897.     dc.w $010d,$00fe,$00f0,$00e2,$00d6,$00ca,$00be,$00b4
  898.     dc.w $00aa,$00a0,$0097,$008f,$0087,$007f,$0078,$0071
  899.     dc.w $0071,$0071,$0071,$0071,$0071,$0071,$0071,$0071
  900.     dc.w $0071,$0071,$0071,$0071,$0d60,$0ca0,$0be8,$0b40
  901.     dc.w $0a98,$0a00,$0970,$08e8,$0868,$07f0,$0780,$0714
  902.     dc.w $1ac0,$1940,$17d0,$1680,$1530,$1400,$12e0,$11d0
  903.     dc.w $10d0,$0fe0,$0f00,$0e28,$06b0,$0650,$05f4,$05a0
  904.     dc.w $054c,$0500,$04b8,$0474,$0434,$03f8,$03c0,$038a
  905.     dc.w $0358,$0328,$02fa,$02d0,$02a6,$0280,$025c,$023a
  906.     dc.w $021a,$01fc,$01e0,$01c5,$01ac,$0194,$017d,$0168
  907.     dc.w $0153,$0140,$012e,$011d,$010d,$00fe,$00f0,$00e2
  908.     dc.w $00d6,$00ca,$00be,$00b4,$00aa,$00a0,$0097,$008f
  909.     dc.w $0087,$007f,$0078,$0071
  910. SOUNDINFO:
  911. ;Start.l , Length.w , Repeat start.w , Repeat-length.w , blk.b 6,0 
  912. blk.b 10*16,0    ;Reserved for samples
  913. blk.b 80*16,0    ;Reserved for waveforms
  914. ;************************
  915. newcopper:
  916. dc.l    $01200007,$01228000,$01240007,$01268000
  917. dc.l    $01280007,$012a8000,$012c0007,$012e8000
  918. dc.l    $01300007,$01328000,$01340007,$01368000
  919. dc.l    $01380007,$013a8000,$013c0007,$013e8000
  920. dc.l    $008e1f78,$00901cc1
  921. dc.l    $00920028,$009400d8
  922. dc.l    $0108000a
  923. dc.l    $010a0000
  924. shifter:
  925. dc.l    $01020000
  926. dc.l    $01040040
  927. dc.l    $01800000,$01820000,$0184000b,$0186022b
  928. dc.l    $0188034c,$018a056d,$018c088d,$018e0aae
  929. dc.l    $01900000,$01920999,$01940666,$01960444
  930. dc.l    $01005600
  931. logopl:
  932. dc.l    $00e00000,$00e20000
  933. dc.l    $00e80000,$00ea0000
  934. dc.l    $00f00000,$00f20000
  935. dc.l    $00e40007,$00e68000
  936. dc.l    $00ec0007,$00ee8000
  937. dc.l    $6009fffe
  938. lettercop:
  939. dc.l    $00e40000,$00e60000
  940. dc.l    $00ec0000,$00ee0000
  941. dc.l    $ff09fffe
  942. dc.l    $00e40007,$00e68000
  943. dc.l    $00ec0007,$00ee8000
  944. dc.l    $fffffffe
  945.  
  946. oldcopper:
  947. dc.l    0
  948. even
  949. gfxname: dc.b    "graphics.library",0
  950. even
  951. gfxbase:
  952. dc.l    0
  953. even
  954. ;ONLY USE THIS CHARS... 
  955. ;ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789.,'!?()-/abcdefghijk+%:<>
  956. ;a = BLOK
  957. ;j = LETTER
  958. ;k = PHONE
  959. ;<> = WINGS !!!
  960. ;USE AS MANY SCREENS AS YOU WANT... BEWARE... EACH LINE HAS 40 CHARS
  961. ;EACH SCREEN HAS 9 LINES !!!!!!!!!
  962.  
  963. text:
  964. dc.b    "   biiiiiiiiiiiih   "
  965. dc.b    "   c < ANGELS > g   "
  966. dc.b    "   deeeeeeeeeeeef   "
  967. dc.b    "                    "
  968. dc.b    "      PRESENTS      "
  969. dc.b    "    ANOTHER COOL    "
  970. dc.b    "                    "
  971. dc.b    "       CRACK!       "
  972. dc.b    "                    "
  973.  
  974. dc.b    " k CALL OUR BBS'S k "
  975. dc.b    "--------------------"
  976. dc.b    "                    "
  977. dc.b    " JUST PUT           "
  978. dc.b    "     THE BBS        "
  979. dc.b    "        NUMBERS     "
  980. dc.b    "           IN HERE !"
  981. dc.b    "                    "
  982. dc.b    "                    "
  983.  
  984. dc.b    "  j OR WRITE TO j   "
  985. dc.b    "                    "
  986. dc.b    "P.O.BOX 10, OBERCORN"
  987. dc.b    "     LUXEMBURG      "
  988. dc.b    "                    "
  989. dc.b    "  P.O.BOX 31, 9910  "
  990. dc.b    "MARIAKERKE, BELGIUM "
  991. dc.b    "                    "
  992. dc.b    "                    "
  993.  
  994. dc.b    "  TRASH CODING BY   "
  995. dc.b    "                    "
  996. dc.b    "                    "
  997. dc.b    "     < VINNY >      "
  998. dc.b    "                    "
  999. dc.b    "                    "
  1000. dc.b    "GREETZ TO ALL ANGELS"
  1001. dc.b    "      MEMBERS.      "
  1002. dc.b    "                    "
  1003.  
  1004. dc.b    "                    "
  1005. dc.b    "   INTRO DONE BY    "
  1006. dc.b    "                    "
  1007. dc.b    "                    "
  1008. dc.b    "    ZAK'N VINNY     "
  1009. dc.b    "                    "
  1010. dc.b    "                    "
  1011. dc.b    "                    "
  1012. dc.b    "    < THE END >     "
  1013. blk.b    180,$ff
  1014. even
  1015.  
  1016. letters:
  1017. dc.b    "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789.,'!?()-/abcdefghijk"
  1018. dc.b    "+%:<> "
  1019. even
  1020.  
  1021. VINNY:
  1022. dc.l    $54484953,$20434f4f,$4c20494e,$54524f20
  1023. dc.l    $57415320,$434f4445,$44204259,$2056494e
  1024. dc.l    $4e592e2e,$2e205448,$45205649,$4e2d4d41
  1025. dc.l    $4e2e2e2e,$20475245,$45545a20,$544f2041
  1026. dc.l    $4c4c204f,$54484552,$204d454d,$42455253
  1027. dc.l    $20212121
  1028.  
  1029. adds:
  1030. dc.w    $0000,$0002,$0004,$0006,$0008,$000a,$000c,$000e
  1031. dc.w    $0010,$0012,$0014,$0016,$0018,$001a,$001c,$001e,$0020
  1032. dc.w    $0220,$0222,$0224,$0226,$0228,$022a,$022c,$022e
  1033. dc.w    $0230,$0232,$0234,$0236,$0238,$023a,$023c,$023e,$0240
  1034. dc.w    $0440,$0442,$0444,$0446,$0448,$044a,$044c,$044e
  1035. dc.w    $0450,$0452,$0454,$0456,$0458,$045a,$045c,$045e,$0460
  1036. dc.w    $0660,$0662,$0664,$0666,$0668,$066a,$066c,$066e
  1037. dc.w    $0670,$0672,$0674,$0676,$0678
  1038. even
  1039.  
  1040. addspr:
  1041. dc.w    0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38
  1042. dc.w    736,738,740,742,744,746,748,750,752,754,756,758,760,762
  1043. dc.w    764,766,768,770,772,774
  1044. dc.w    $5c0,$5c2,$5c4,$5c6,$5c8,$5ca,$5cc,$5ce,$5d0,$5d2
  1045. dc.w    $5d4,$5d6,$5d8,$5da,$5dc,$5de,$5e0,$5e2,$5e4,$5e6
  1046. dc.w    $8a0,$8a2,$8a4,$8a6,$8a8,$8aa,$8ac,$8ae,$8b0,$8b2
  1047. dc.w    $8b4,$8b6,$8b8,$8ba,$8bc,$8be,$8c0,$8c2,$8c4,$8c6
  1048. dc.w    $b80,$b82,$b84,$b86,$b88,$b8a,$b8c,$b8e,$b90,$b92
  1049. dc.w    $b94,$b96,$b98,$b9a,$b9c,$b9e,$ba0,$ba2,$ba4,$ba6
  1050. dc.w    $e60,$e62,$e64,$e66,$e68,$e6a,$e6c,$e6e,$e70,$e72
  1051. dc.w    $e74,$e76,$e78,$e7a,$e7c,$e7e,$e80,$e82,$e84,$e86
  1052. dc.w    $1140,$1142,$1144,$1146,$1148,$114a,$114c,$114e,$1150,$1152
  1053. dc.w    $1154,$1156,$1158,$115a,$115c,$115e,$1160,$1162,$1164,$1166
  1054. dc.w    $1420,$1422,$1424,$1426,$1428,$142a,$142c,$142e,$1430,$1432
  1055. dc.w    $1434,$1436,$1438,$143a,$143c,$143e,$1440,$1442,$1444,$1446
  1056. dc.w    $1700,$1702,$1704,$1706,$1708,$170a,$170c,$170e,$1710,$1712
  1057. dc.w    $1714,$1716,$1718,$171a,$171c,$171e,$1720,$1722,$1724,$1726
  1058. sprcount:
  1059. dc.w    0
  1060.  
  1061. plaats:
  1062. dc.w    0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19
  1063. dc.w    20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39
  1064. dc.w    40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59
  1065. dc.w    60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79
  1066. dc.w    80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99
  1067. dc.w    100,101,102,103,104,105,106,107,108,109,110,111,112,113
  1068. dc.w    114,115,116,117,118,119
  1069. dc.w    120,121,122,123,124,125,126,127,128,129,130,131,132,133
  1070. dc.w    134,135,136,137,138,139
  1071. dc.w    140,141,142,143,144,145,146,147,148,149,150,151,152,153
  1072. dc.w    154,155,156,157,158,159
  1073. dc.w    160,161,162,163,164,165,166,167,168,169,170,171,172,173
  1074. dc.w    174,175,176,177,178,179
  1075.  
  1076. plaats2:
  1077. dc.w    0
  1078. dc.w    20,1
  1079. dc.w    40,21,2
  1080. dc.w    60,41,22,3
  1081. dc.w    80,61,42,23,4
  1082. dc.w    100,81,62,43,24,5
  1083. dc.w    120,101,82,63,44,25,6
  1084. dc.w    140,121,102,83,64,45,26,7
  1085. dc.w    160,141,122,103,84,65,46,27,8
  1086. dc.w    161,142,123,104,85,66,47,28,9
  1087. dc.w    162,143,124,105,86,67,48,29,10
  1088. dc.w    163,144,125,106,87,68,49,30,11
  1089. dc.w    164,145,126,107,88,69,50,31,12
  1090. dc.w    165,146,127,108,89,70,51,32,13
  1091. dc.w    166,147,128,109,90,71,52,33,14
  1092. dc.w    167,148,129,110,91,72,53,34,15
  1093. dc.w    168,149,130,111,92,73,54,35,16
  1094. dc.w    169,150,131,112,93,74,55,36,17
  1095. dc.w    170,151,132,113,94,75,56,37,18
  1096. dc.w    171,152,133,114,95,76,57,38,19
  1097. dc.w    172,153,134,115,96,77,58,39
  1098. dc.w    173,154,135,116,97,78,59
  1099. dc.w    174,155,136,117,98,79
  1100. dc.w    175,156,137,118,99
  1101. dc.w    176,157,138,119
  1102. dc.w    177,158,139
  1103. dc.w    178,159
  1104. dc.w    179
  1105.  
  1106.  
  1107. plaats3:
  1108. dc.w    90,89,69,70,71,91,111,110,109,108,88,68,48,49,50,51,52
  1109. dc.w    72,92,112,132,131,130,129,128,127,107,87,67,47,27
  1110. dc.w    28,29,30,31,32,33,53,73,93,113,133,153,152,151,150
  1111. dc.w    149,148,147,146,126,106,86,66,46,26,6,7,8,9,10,11,12,13,14
  1112. dc.w    34,54,74,94,114,134,154,174,173,172,171,170,169,168,167
  1113. dc.w    166,165,145,125,105,85,65,45,25,5
  1114. dc.w    15,35,55,75,95,115,135,155,175
  1115. dc.w    164,144,124,104,84,64,44,24,4
  1116. dc.w    16,36,56,76,96,116,136,156,176
  1117. dc.w    163,143,123,103,83,63,43,23,3
  1118. dc.w    17,37,57,77,97,117,137,157,177
  1119. dc.w    162,142,122,102,82,62,42,22,2
  1120. dc.w    18,38,58,78,98,118,138,158,178
  1121. dc.w    161,141,121,101,81,61,41,21,1
  1122. dc.w    19,39,59,79,99,119,139,159,179
  1123. dc.w    160,140,120,100,80,60,40,20,0
  1124.  
  1125. plaats4:
  1126. dc.w    179,0,178,1,177,2,176,3,175,4,174,5,173,6,172,7,171,8,170,9
  1127. dc.w    169,10,168,11,167,12,166,13,165,14,164,15,163,16,162,17,161
  1128. dc.w    18,160,19
  1129. dc.w    140,39,141,38,142,37,143,36,144,35,145,34,146,33,147,32
  1130. dc.w    148,31,149,30,150,29,151,28,152,27,153,26,154,25,155,24
  1131. dc.w    156,23,157,22,158,21,159,20
  1132. dc.w    139,40,138,41,137,42,136,43,135,44,134,45,133,46,132,47,131
  1133. dc.w    48,130,49,129,50,128,51,127,52,126,53,125,54,124,55,123,56
  1134. dc.w    122,57,121,58,120,59
  1135. dc.w    100,79,101,78,102,77,103,76,104,75,105,74,106,73,107,72,108
  1136. dc.w    71,109,70,110,69,111,68,112,67,113,66,114,65,115,64,116,63
  1137. dc.w    117,62,118,61,119,60
  1138. dc.w    99,80,98,81,97,82,96,83,95,84,94,85,93,86,92,87,91,88,90,89
  1139.  
  1140. plaats5:
  1141. dc.w    0,161,20,141,40,121,60,101,80,81,100,61,120,41,140,21,160,1
  1142. dc.w    2,163,22,143,42,123,62,103,82,83,102,63,122,43,142,23,162,3
  1143. dc.w    4,165,24,145,44,125,64,105,84,85,104,65,124,45,144,25,164,5
  1144. dc.w    6,167,26,147,46,127,66,107,86,87,106,67,126,47,146,27,166,7
  1145. dc.w    8,169,28,149,48,129,68,109,88,89,108,69,128,49,148,29,168,9
  1146. dc.w    10,171,30,151,50,131,70,111,90,91,110,71,130,51,150,31,170,11
  1147. dc.w    12,173,32,153,52,133,72,113,92,93,112,73,132,53,152,33,172,13
  1148. dc.w    14,175,34,155,54,135,74,115,94,95,114,75,134,55,154,35,174,15
  1149. dc.w    16,177,36,157,56,137,76,117,96,97,116,77,136,57,156,37,176,17
  1150. dc.w    18,179,38,159,58,139,78,119,98,99,118,79,138,59,158,39,178,19
  1151.  
  1152. plaats6:
  1153. dc.w    2,22,42,41,40,20,0,1,21
  1154. dc.w    5,25,45,44,43,23,3,4,24
  1155. dc.w    8,28,48,47,46,26,6,7,27
  1156. dc.w    11,31,51,50,49,29,9,10,30
  1157. dc.w    14,34,54,53,52,32,12,13,33
  1158. dc.w    17,37,57,56,55,35,15,16,36
  1159. dc.w    19,39,59,58,38,18
  1160. dc.w    62,82,102,101,100,80,60,61,81
  1161. dc.w    65,85,105,104,103,83,63,64,84
  1162. dc.w    68,88,108,107,106,86,66,67,87
  1163. dc.w    71,91,111,110,109,89,69,70,90
  1164. dc.w    74,94,114,113,112,92,72,73,93
  1165. dc.w    77,97,117,116,115,95,75,76,96
  1166. dc.w    79,99,119,118,98,78
  1167. dc.w    122,142,162,161,160,140,120,121,141
  1168. dc.w    125,145,165,164,163,143,123,124,144
  1169. dc.w    128,148,168,167,166,146,126,127,147
  1170. dc.w    131,151,171,170,169,149,129,130,150
  1171. dc.w    134,154,174,173,172,152,132,133,153
  1172. dc.w    137,157,177,176,175,155,135,136,156
  1173. dc.w    139,159,179,178,158,138
  1174.  
  1175.  
  1176. plaats7:
  1177. dc.w    92,46,124,59,136,150,29,1,101,15,55,6,107,99,153,165,23
  1178. dc.w    60,12,114,49,85,97,128,160,21,52,148,17,179,175,63,11,110
  1179. dc.w    35,142,58,152,169,4,156,74,103,31,89,162,67,119,10,112,71
  1180. dc.w    22,123,108,33,98,154,131,82,0,27,146,95,149,64,26,113,177
  1181. dc.w    104,140,116,76,7,66,100,61,115,48,126,134,139,172,143,42
  1182. dc.w    19,30,129,138,44,147,50,121,133,37,25,122,159,166,24,16,2
  1183. dc.w    158,120,88,94,79,170,163,86,9,111,34,20,174,81,39,28,145
  1184. dc.w    70,62,105,38,32,155,91,144,40,161,171,168,83,73,118,53
  1185. dc.w    14,45,137,57,141,102,36,8,173,65,178,3,18,78,106,5,132,164
  1186. dc.w    56,127,77,157,41,167,54,68,135,80,43,96,84,13,125,117,47
  1187. dc.w    75,87,51,151,109,93,69,72,90,130,176
  1188.  
  1189. keeper:
  1190. dc.l    0
  1191. klaar:
  1192. dc.l    1
  1193. verander:
  1194. dc.l    1
  1195. test:
  1196. dc.b    1
  1197. even
  1198. blk.b    100,0
  1199. kloot:
  1200. dc.w    0
  1201. checkg:
  1202. dc.b    0
  1203. even
  1204. keeper2:
  1205. dc.l    0
  1206. keeper3:
  1207. dc.l    0
  1208. keeppos:
  1209. dc.l    0
  1210. keepcount:
  1211. dc.w    0
  1212. uit:
  1213. dc.w    0
  1214. scrollcounter:
  1215. dc.b    0
  1216. scrolladds:
  1217. dc.b    1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22
  1218. dc.b    23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41
  1219. dc.b    42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60
  1220. dc.b    61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79
  1221. dc.b    80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98
  1222. dc.b    99,100,101,102,103,104,105,106,107,108,109,110,111,112
  1223. dc.b    113,114
  1224. scrollsubs:
  1225. dc.b    112,111,110,109,108,107,106,105,104,103,102,101,100,99,98
  1226. dc.b    97,96,95,94,93,92,91,90,89,88,87,86,85,84,83,82,81,80,79
  1227. dc.b    78,77,76,75,74,73,72,71,70,69,68,67,66,65,64,63,62,61,60
  1228. dc.b    59,58,57,56,55,54,53,52,51,50,49,48,47,46,45,44,43,42,41
  1229. dc.b    40,39,38,37,36,35,34,33,32,31,30,29,28,27,26,25,24,23,22
  1230. dc.b    21,20,19,18,17,16,15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0
  1231. lamer:
  1232. dc.b    3
  1233. even
  1234. font:
  1235. blk.b    4352,0
  1236. angels:
  1237. blk.b    4704,0
  1238. module:
  1239. blk.b    18064,0
  1240. b:
  1241.